#~ Copyright Rene Rivera 2008
#~ Copyright James E. King III 2018
#~ Distributed under the Boost Software License, Version 1.0.
#~ (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)


project
    :   requirements
        <library>/boost/system//boost_system
        <define>BOOST_ALL_NO_LIB=1
        <warnings>all
        <toolset>clang:<cxxflags>-Wextra
        <toolset>clang:<cxxflags>-Wno-variadic-macros
        <toolset>gcc:<cxxflags>-Wextra
        <toolset>gcc:<cxxflags>-Wshadow
        <toolset>gcc:<cxxflags>-Wno-variadic-macros
        <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
    ;

import common ;
import os ;
import testing ;

test-suite pool :
    [ run test_simple_seg_storage.cpp : : : <toolset>msvc:<cxxflags>-wd4267 ]
    [ run test_pool_alloc.cpp ]
    [ run pool_msvc_compiler_bug_test.cpp : : : <toolset>msvc:<cxxflags>-wd4512 ]
    [ run test_msvc_mem_leak_detect.cpp ]
    [ run test_bug_3349.cpp ]
    [ run test_bug_4960.cpp ]
    [ run test_bug_1252.cpp : : :
        <toolset>clang:<cxxflags>-Wno-c++11-long-long
        <toolset>gcc:<cxxflags>-Wno-long-long
        <toolset>pathscale:<cxxflags>-Wno-long-long ]
    [ run test_bug_2696.cpp ]
    [ run test_bug_5526.cpp ]
    [ run test_threading.cpp : : : <threading>multi <library>/boost/thread//boost_thread ]
    [ compile test_poisoned_macros.cpp ]
    ;

if [ os.environ VALGRIND_OPTS ]
{
test-suite pool-valgrind :
    [ run test_pool_alloc.cpp : : : <define>BOOST_POOL_VALGRIND=1 : test_pool_alloc_valgrind ]
    [ run-fail test_valgrind_fail_1.cpp : : : <define>BOOST_POOL_VALGRIND=1 ]
    [ run-fail test_valgrind_fail_2.cpp : : : <define>BOOST_POOL_VALGRIND=1 ]
    ;
}

